"""
声明和用户账号相关的工具类和方法
"""
from meiduo_move_server.utils.datetime_utils import createNowDatetimeDict


def createUserAccount(userTelephone):
    """
    根据用户手机号和当前时间生成用户账号

    @param - userTelephone: 用户手机号

    @return: 用户账号和用户注册时间组成的字典(用户账号生成的时间为用户注册成功时间), 其中注册时间为字典类型数据
    """
    datetime_now = createNowDatetimeDict()  # 当前时间
    year = datetime_now['year']  # 年份
    mouth = datetime_now['mouth']  # 月份
    day = datetime_now['day']  # 天 int类型
    tele_back4 = userTelephone[-4:]  # 用户手机号后四位
    # 生成用户账号
    userAccount = 'md%04s%02s%02s%04s' % (year, mouth, day, tele_back4)
    return {
        'userAccount': userAccount,
        'userRegisterTime': datetime_now
    }


def getUserAccountRegisterTimeStr(userAccountRegisterTimeDict):
    """
    根据字典类型的用户注册时间生成返回字符串类型的用户注册时间，
    生成的字符串类型用户注册时间格式为：yyyy-mm-dd HH:MM:SS

    @param - userAccountRegisterTimeDict: 字典类型的用户注册时间

    @return: 字符串类型的用户注册时间
    """
    year = userAccountRegisterTimeDict['year']
    mouth = userAccountRegisterTimeDict['mouth']
    day = userAccountRegisterTimeDict['day']
    hour = userAccountRegisterTimeDict['hour']
    minute = userAccountRegisterTimeDict['minute']
    second = userAccountRegisterTimeDict['second']
    print('%s-%s-%s %s:%s:%s' % (year, mouth, day, hour, minute, second))
    return '%s-%s-%s %s:%s:%s' % (year, mouth, day, hour, minute, second)


def getUserPassword(userPassword):
    """
    用于获取用户的真实密码，即去除在用户密码后添加的后缀

    @param - userPassword: 存在后缀的用户密码

    @return: 去除后缀的用户密码
    """
    dot_index = userPassword.rfind('.')
    return userPassword[:dot_index]